2025-0816-1619 Using Level Design Tools Expressively GDC
Slip-box
To be fleeting notes
Fleeting
To be literature notes (Understanding)
L-Origin
下面是这场演讲的精炼总结+可直接套用的方法论清单(面向叙事向第一人称/线性关卡为主,其他类型也能借鉴)。
视频要点(速读版)
-
“表达性”两层含义:
- 设计用最基础的关卡脚本工具(触发器/延时/计数器…)去替角色与世界发声;
- 创造脚本化“缝隙”,让玩家表达自己(性格、立场、风格)。
-
关卡设计的两大能力:
- 无瑕执行剧本(95%时间):把已写好的台词/事件做得顺滑、稳健、可复现;
- 在剧本空白处补完(5%):用小工具拼出合拍的细节与桥段。
-
核心脚本积木
- Delay(延时):0.2s 等级的小延时能传达“思考/反应/剪辑的停顿”(叙事喜欢;程序担心竞态谨慎用)。
- LOS 触发器(视线触发):基于屏幕占比+触发距离+开始/结束+可开关+凝视时长,用于“看到→说话/触发”。
- Hysteresis(滞回):避免“进出抖动/机械感”。做法:
- 视线:
OnLook → set bool=true → 延时 → 仍为true才触发;OnUnlook→bool=false
- 体积:小体积触发开,大体积触发关,上/下阈值不同更自然,也更稳。
- 视线:
- Delay(延时):0.2s 等级的小延时能传达“思考/反应/剪辑的停顿”(叙事喜欢;程序担心竞态谨慎用)。
-
范例
-
Gone Home:读便条一会儿被强制放下(延时+禁交互)→角色意志与玩家欲望短暂冲突。
-
BioShock Infinite:看上方招牌才说话(LOS+延时);良心商店(计数未付款物品、接近投币盒才激活“付款”交互)→让玩家在“偷/付”间自我表达。
-
HL2“捡罐头”:用触发器、延时、物理冲量做出零后果但强记忆点的选择。
-
-
任务/目标的实现观(以《羞辱·主教任务》为作业):把复杂目标拆成少量布尔(拿到日记=真;主教被消除=真),允许多路径(毒杀计时、处刑机、常规击杀…),脚本只负责条件达成与反馈。
可用方法论(拿去就能做)
1) 基础工具与引擎支持
-
实装/封装LOS 触发器:参数含
screen_percent, max_distance, on_enter, on_exit, hold_time, enabled
。 -
提供Gate/Once节点、全局可视日志(显示触发名/时间),便于调试竞态。
-
体积触发双阈值预制(小=开,大=关)作为默认模板。
2) 三个“叙事触发”模板
-
观察→评注(最常用 VO 模板)
EnterZone → LOS(≥30%, hold 0.2s) → GateOnce → Delay(0.2s) → 播VO/动画
-
读物→打断(角色意志)
PickupNote → Delay(玩家平均阅读时长×0.6) → 强制放下 + 暂停再拾取
-
惊吓/笑点
预热(脚步/灯光)→ Delay → 爆点事件
(延时控制“剪辑点”)
3) 玩家表达“槽位”的快速做法(零/低后果,小而美)
-
良心商店(1 天内可实现):
- 进入商店触发顾客动画(fallback 触碰触发);
- 每拿一件
unpaid++
;接近钱箱再启用“付款”交互;付款后unpaid=0
; - 记录一次性选择(偷/付)用于后续一条小台词或小彩蛋(不影响主线数值)。
-
权威小考验(捡罐头)
- 入口→警卫出场→击罐延时→玩家选择(捡/扔/无视);
- 渐进催促台词(多段延时)+ 轻微物理冲量演罐头落地。
4) 滞回/稳态的通用写法
-
视线稳态
OnLook: seen=true; Delay(0.25); if seen & !fired → FireOnce() OnUnlook: seen=false
-
体积稳态
- 小触发:开灯/开逻辑;大触发:关灯/关逻辑(AI 刷新/清理用这个,避免“未生成就被关”)。
5) 任务设计:用布尔与条件表表达“多解”
- 目标拆解为布尔:
has_journal
,target_eliminated
。 - 触发来源多路并联:系统事件(拾取/死亡)、计时(中毒延时)、环境机关(烙印机)。
- UI 只读布尔;脚本不评判手段、只负责达成与反馈。
6) 团队协作与风险控制
- 延时是手术刀:集中用于叙事节奏,避免驱动核心玩法逻辑;为延时事件打可视化 Debug。
- 尽量复用现有资产(动画二用、文本本地化最省),适合项目后期加“味道”的小桥段。
- 不要在关卡脚本里造完整系统(高后果、可扩展的系统交给工程/设计系统层),关卡脚本只做一次性、低后果 vignette。
练习(今天就能做)
- 在你的关卡加一个 “良心商店” 或 “捡罐头” 式微互动:
- 目标:不引入新系统,不影响数值平衡,却能让玩家“表态”。
- 骨架:
触发器 + 延时 + 计数器/布尔 + 可用交互
。 - 验收:0 Bug(不可抖动/不可卡死)、1 条后续小反馈、5 分钟内玩家能遇到且懂。
结论:会“演”的关卡脚本,不靠重系统,靠小工具+好节奏。用 LOS、延时、滞回与计数器,既能替世界发声,也给玩家留下一句“我是这样的人”。
L-My Words
L-Zotero citation key
To be permanent notes (Complete Ideas)
P-Self Explained Sentences
P-Connection
- Parent
- Caused by::
- - Driven by::
- - Cite from::
-
- Caused by::
- Child
- Excalidraw::
- - Is source of::
- - Including::
- - Have Example::
- - Contributes to::
- - Consist of::
-
- Excalidraw::
- Friend
- Left
- Achieved with::
- - Affected by::
- - Supported by::
- - Enhanced by::
- - related::
-
- Achieved with::
- Right
- against::
- - Opposites::
-
- against::
- Left